package com.oraycn.esbasic.views;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.ListView;

public class ListView4ScrollView extends ListView {
    public ListView4ScrollView(Context context) {
        super(context);
    }

    public ListView4ScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public ListView4ScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    public ListView4ScrollView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        // 将模式设置为MeasureSpec.AT_MOST 
//        Integer.MAX_VALUE>>2 ：因为MeasureSpec 一个值表示了两个值，最高两位代表模式，后面代表的是尺寸。而这边makeMeasureSpec传的第一个参数是给子级的最大尺寸，所以右移两位就是能给子级最大的高度，所以解决了显示不全的问题
        heightMeasureSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE>>2,MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }
}
